﻿using System.ServiceModel;
using System.ServiceModel.Channels;
using Kavaa.Modules.PortailMedical.Interface;
using Kavaa.Modules.PortailMedical.Entity;
using System;

namespace Kavaa.Modules.PortailMedical.Proxy
{
    /// <summary>
    /// Proxy de gestion de l'entité métier StrAssIsTSync
    /// </summary>
    public class PortailMedicalClient : ClientBase<IPortailMedical>, IPortailMedical
    {
        /// <summary>
        /// Constructeur
        /// </summary>
        public PortailMedicalClient() { }

        /// <summary>
        /// Constructeur
        /// </summary>
        public PortailMedicalClient(string endpointConfigurationName) :
            base(endpointConfigurationName) { }

        /// <summary>
        /// Constructeur
        /// </summary>
        public PortailMedicalClient(string endpointConfigurationName, string remoteAddress) :
            base(endpointConfigurationName, remoteAddress) { }

        /// <summary>
        /// Constructeur
        /// </summary>
        public PortailMedicalClient(string endpointConfigurationName, EndpointAddress remoteAddress) :
            base(endpointConfigurationName, remoteAddress) { }

        /// <summary>
        /// Constructeur
        /// </summary>
        public PortailMedicalClient(Binding binding, EndpointAddress remoteAddress) :
            base(binding, remoteAddress) { }

        public void AddInternaute(Kavaa.Modules.PortailMedical.Entity.Internaute Internaute)
        {
            base.Channel.AddInternaute(Internaute);
        }
        public void UpdateUtilisateur(int Iduser, string Name, string Prenom, string Fonction, string Tel, string Email)
        {
            base.Channel.UpdateUtilisateur(Iduser, Name, Prenom, Fonction, Tel, Email);
        }

        public void DeleteUtilisateur(int UserID)
        {
            base.Channel.DeleteUtilisateur(UserID);
        }
        public Nomenclatures GetNomenclatures()
        {
            return base.Channel.GetNomenclatures();
        }
        public Actes GetActes()
        {
            return base.Channel.GetActes();
        }
          public Actes GetActesByClinique(int idclinique)
        {
            return base.Channel.GetActesByClinique(idclinique);
        }
        
        public Villes GetVilles()
        {
            return base.Channel.GetVilles();
        }

        public Mutuelles GetMutuelles()
        {
            return base.Channel.GetMutuelles();
        }

        public Ressources GetRessources()
        {
            return base.Channel.GetRessources(); 
        }
        public int AddUtilisateur(Utilisateur user, int IdActeurConnecte)
        {
            return base.Channel.AddUtilisateur(user, IdActeurConnecte);
        }

        public Utilisateur GetUserById(int IdUser)
        {
            return base.Channel.GetUserById(IdUser);
        }
        public Utilisateur GetUserConnecte(String login, String password)
        {
            return base.Channel.GetUserConnecte(login, password);

        }
        public String GetTypeUserConnecte(int ActeurId)
        {
            return base.Channel.GetTypeUserConnecte(ActeurId);

        }
        public Utilisateurs GetUtilisateurs(int ActeurId)
        {
            return base.Channel.GetUtilisateurs(ActeurId);
        }
        public Specialites GetSpecialites()
        {
            return base.Channel.GetSpecialites();
        }
        public Actes GetActesSpecialite(int id_specialite)
        {
            return base.Channel.GetActesSpecialite(id_specialite);
        }
        public Actes GetActesCategorie(int idcategorie)
        {
            return base.Channel.GetActesCategorie(idcategorie);
        }

        public void ActiverCompte(int Iduser)
        {
            base.Channel.ActiverCompte(Iduser);
        }
        public void DesactiverCompte(int Iduser)
        {
            base.Channel.DesactiverCompte(Iduser);
        }
    }
}
